The web has become deeply integrated in our everyday life. The advent of web and mobile technology has pushed users to demand fluid user experiences with a native-like feel. JavaScript once relegated to minor visual changes on web pages has been promoted to the language of choice in providing rich responsive interactive applications.
This Unit provides a pragmatic approach to essential front-end web technologies, including HTML, CSS, and JavaScript, focusing on building functional and attractive web pages. The course includes an introduction to Node.js, offering a glimpse into server-side programming and how to apply the latest frameworks in order to implement real world applications. Emphasis will be made on differentiating which technologies and architectures to use in various scenarios.
The Unit will aim to cover these subjects:
- Introduce students to the fundamental principles and practices of front-end web development.
- Core principles that drive a Build First approach and the different processes and flows that can be setup.
- Build systems such as Grunt and Gulp and how to use these systems to compose build flows.
- Modularization of JavaScript in large-scale applications.
- REST API Design.
- MVC/MVVM architectures and frameworks in a web context.
- Testing code in order to ensure code quality and learn about continuous integration.
Main Reading List
- The course pedagogy involves practical study units and most of the background required to understand the module will be provided during the lectures.
Supplementary Reading List
We recommnd that these publications supplement the material taught during lectures.
- HTML and CSS: Design and Build Websites. Jon Ducket; https://www.amazon.co.uk/Web-Design-HTML-JavaScript-jQuery/dp/1118907442
- Learning JavaScript Design Patterns
- Addy Osmani; http://addyosmani.com/resources/essentialjsdesignpatterns/book/
- JavaScript: The Good Parts – Douglas Crockford; http://www.amazon.com/JavaScript-Good-Parts-Douglas-Crockford/dp/0596517742
- JavaScript Patterns – Stoyan Stefanov; http://www.amazon.com/JavaScript-Patterns-Stoyan-Stefanov/dp/0596806752/
- JavaScript Application Design: A Build First Approach – Nicolas Bevacqua; http://www.manning.com/bevacqua/